Modern processors include extensive execution resources to support concurrent processing of multiple instructions. A processor typically includes one or more integer, floating point, branch, and memory execution units to implement integer, floating point, branch, and load/store instructions, respectively. In addition, integer and floating point processing units typically include register files to maintain data relatively close to the processor core. One drawback to providing a processor with extensive execution resources is that significant amounts of power are required to run them. However, few programs require the full range of a processor's execution resources for significant intervals. Cooling systems for maintaining a processor at a maximum allowable temperature and associated maximum power dissipation are designed to cool the processor at it maximum instruction throughput capacity.